import Vue from 'vue'
import VueI18n from 'vue-i18n'
import { localRead } from '@/libs/utils'

import customZhCn from './lang/zh-CN'
import customZhTw from './lang/zh-TW'
import customEnUs from './lang/en-US'
import zhCnLocale from 'view-design/dist/locale/zh-CN'
import enUsLocale from 'view-design/dist/locale/en-US'
import zhTwLocale from 'view-design/dist/locale/zh-TW'

Vue.use(VueI18n)

// 自动根据浏览器系统语言设置语言
const navLang = navigator.language
const localLang = (navLang === 'zh-CN' || navLang === 'en-US') ? navLang : false
let lang = localLang || localRead('local') || 'zh-CN'

Vue.config.lang = lang

Vue.locale = () => { }
// Create VueI18n instance with options
const i18n = new VueI18n({
  locale: lang,
  messages: {
    'zh-CN': Object.assign(zhCnLocale, customZhCn),
    'zh-TW': Object.assign(zhTwLocale, customZhTw),
    'en-US': Object.assign(enUsLocale, customEnUs)
  }
})

export default i18n